1. Field of the Invention
The disclosed embodiments relate to Mobile IP network technology. More particularly, the disclosed embodiments relate to Mobile IP accounting.
2. Description of the Related Art
Mobile IP is a protocol which allows laptop computers or other mobile computer units (referred to as “Mobile Nodes” herein) to roam between various sub-networks at various locations—while maintaining internet and/or WAN connectivity. Without Mobile IP or related protocol, a Mobile Node would be unable to stay connected while roaming through various sub-networks. This is because the IP address required for any node to communicate over the internet is location specific. Each IP address has a field that specifies the particular sub-network on which the node resides. If a user desires to take a computer which is normally attached to one node and roam with it so that it passes through different sub-networks, it cannot use its home base IP address. As a result, a business person traveling across the country cannot merely roam with his or her computer across geographically disparate network segments or wireless nodes while remaining connected over the internet. This is not an acceptable state-of-affairs in the age of portable computational devices.
To address this problem, the Mobile IP protocol has been developed and implemented. An implementation of Mobile IP is described in RFC 2002 of the Network Working Group, C. Perkins, Ed., Oct. 1996. Mobile IP is also described in the text “Mobile IP Unplugged” by J. Solomon, Prentice Hall. Both of these references are incorporated herein by reference in their entireties and for all purposes.
The Mobile IP process and environment are illustrated in FIG. 1. As shown there, a Mobile IP environment 2 includes the internet (or a WAN) 4 over which a Mobile Node 6 can communicate remotely via mediation by a Home Agent 8 and a Foreign Agent 10. Typically, the Home Agent and Foreign Agent are routers or other network connection devices performing appropriate Mobile IP functions as implemented by software, hardware, and/or firmware. A particular Mobile Node (e.g., a laptop computer) plugged into its home network segment connects with the internet through its designated Home Agent. When the Mobile Node roams, it communicates via the internet through an available Foreign Agent. Presumably, there are many Foreign Agents available at geographically disparate locations to allow wide spread internet connection via the Mobile IP protocol. Note that it is also possible for the Mobile Node to register directly with its Home Agent.
As shown in FIG. 1, Mobile Node 6 normally resides on (or is “based at”) a network segment 12 which allows its network entities to communicate over the internet 4 through Home Agent 8 (an appropriately configured router denoted R2). Note that Home Agent 8 need not directly connect to the internet. For example, as shown in FIG. 1, it may be connected through another router (a router R1 in this case). Router R1 may, in turn, connect one or more other routers (e.g., a router R3) with the internet.
Now, suppose that Mobile Node 6 is removed from its home base network segment 12 and roams to a remote network segment 14. Network segment 14 may include various other nodes such as a PC 16. The nodes on network segment 14 communicate with the internet through a router which doubles as Foreign Agent 10. Mobile Node 6 may identify Foreign Agent 10 through various solicitations and advertisements which form part of the Mobile IP protocol. When Mobile Node 6 engages with network segment 14, Foreign Agent 10 relays a registration request to Home Agent 8 (as indicated by the dotted line “Registration”). The Home and Foreign Agents may then negotiate the conditions of the Mobile Node's attachment to Foreign Agent 10. For example, the attachment may be limited to a period of time, such as two hours. When the negotiation is successfully completed, Home Agent 8 updates an internal “mobility binding table” which specifies the care-of address (e.g., a collocated care-of address or the Foreign Agent's IP address) in association with the identity of Mobile Node 6. Further, the Foreign Agent 10 updates an internal “visitor table” which specifies the Mobile Node address, Home Agent address, etc. In effect, the Mobile Node's home base IP address (associated with segment 12) has been shifted to the Foreign Agent's IP address (associated with segment 14).
Now, suppose that Mobile Node 6 wishes to send a message to a corresponding node 18 from its new location. An output message from the Mobile Node is then packetized and forwarded through Foreign Agent 10 over the internet 4 and to corresponding node 18 (as indicated by the dotted line “packet from MN”) according to a standard internet protocol. If corresponding node 18 wishes to send a message to Mobile Node—whether in reply to a message from the Mobile Node or for any other reason—it addresses that message to the IP address of Mobile Node 6 on sub-network 12. The packets of that message are then forwarded over the internet 4 and to router R1 and ultimately to Home Agent 8 as indicated by the dotted line (“packet to MN(1)”). From its mobility binding table, Home Agent 8 recognizes that Mobile Node 6 is no longer attached to network segment 12. It then encapsulates the packets from corresponding node 18 (which are addressed to Mobile Node 6 on network segment 12) according to a Mobile IP protocol and forwards these encapsulated packets to a “care of” address for Mobile Node 6 as shown by the dotted line (“packet to MN(2)”). The care of address may be, for example, the IP address of Foreign Agent 10. Foreign Agent 10 then strips the encapsulation and forwards the message to Mobile Node 6 on sub-network 14. The packet forwarding mechanism implemented by the Home and Foreign Agents is often referred to as “tunneling.”
The Mobile IP Management Information Base (MIB) [RFC 2006] may be used by network administrators in managing mobile nodes, foreign agents, and home agents on a particular network. By way of example, the Mobile IP MIB defines a set of variables that can be examined or configured by a manager station using version 2 of the Simple Network Management Protocol (SNMPv2) [RFC 1905]. More particularly, variables are provided which permit accounting, or recording, of the actions of a particular mobile node. By way of example, an overall service time for the mobile node and the total number of registration requests accepted or denied by a Home Agent may be updated. This accounting information is typically stored on the corresponding network device (e.g., Home Agent or Foreign Agent) and therefore each network device may be periodically examined by the manager station.
As shown in FIG. 2, storage and updating of accounting information is typically dispersed among the network devices (e.g., routers) in a typical Mobile IP network segment. Mobile IP environment 202 includes the internet (or a WAN) 204 over which various mobile nodes can communicate remotely via mediation by a corresponding Home Agent (via an appropriately configured router denoted R1). An entity such as a corporation, business, or government may provide multiple Home Agents. Here, a first Home Agent 206, a second Home Agent 208, a third Home Agent 210, a fourth Home Agent 212, and a fifth Home Agent 214 are shown. As shown, such an environment lacks a centralized database for accounting information. Therefore, each Home Agent must be separately configured for mobile nodes supported by that Home Agent and accounting information for these mobile nodes is stored with that Home Agent. Moreover, redundant Home Agents may be provided to permit a Home Agent to serve as a backup to protect against failure by a primary Home Agent. By way of example, the fourth Home Agent 212 and the fifth Home Agent 214 may store identical accounting information in the event that one of the Home Agents fails. Thus, when accounting information is updated, the information must be updated on all of the redundant Home Agents. Accordingly, such a system requires considerable administrative overhead.
Although information associated with the activity of mobile nodes may be recorded, the information typically maintained has limited uses in a billing environment. More particularly, a mechanism for tracking the amount of information sent and/or received by selected mobile nodes has not been established. By way of example, the number of packets or bytes sent and/or received by mobile nodes operating under Mobile IP Protocol has not been monitored. Moreover, although variables may be used to update the number of registrations accepted or denied by a Home Agent as well as update the overall service time for a mobile node, these variables have not been implemented for the purposes of billing users associated with these mobile nodes. In addition, although these variables may be polled by the manager station periodically as requested, this process is not dynamic.
While billing may be performed for nodes which are not mobile, such methods may not easily be applied to mobile nodes operating under the Mobile IP Protocol. By way of example, billing is often performed through the use of time stamps. For a node which is not mobile, this method is acceptable since only two time stamps, a START time stamp and a STOP time stamp for a given session, are required to determine a total service time. However, in a Mobile IP environment, each mobile node may roam to numerous Foreign Agents while communicating with a given corresponding node. The Home Agent, which would presumably log START and STOP time stamps, sees only some of the packets associated with a session between the mobile node and the corresponding node. Thus, it may not know exactly when a session starts ands stops. Accordingly, this method of accounting and billing cannot easily be applied to mobile nodes operating under a Mobile IP Protocol.
In view of the above, a need exists for monitoring the quantity of information sent and received by mobile nodes for billing purposes. Moreover, it would beneficial if a system having centralized database management were provided to dynamically store and process this billing information for mobile nodes supported by multiple network devices.